// 给定一个二叉树，返回它的 后序 遍历。

// 暴露接口
function postorderTraversal(root: TreeNode | null): number[] {
    const res: number[] = [];// 结果数组
    postorderTraversal_DFS(root, res);
    return res;
};
// DFS后续遍历辅助方法
function postorderTraversal_DFS(root: TreeNode | null, res: number[]) {
    if (root === null) {
        return;
    }
    postorderTraversal_DFS(root.left, res);
    postorderTraversal_DFS(root.right, res);
    res.push(root.val);
}


// 非常基础的递归设计题目，可以再思考一下如果不使用递归系统栈，要怎么实现？